Operational Semantics for Functional Logic Languages
نویسندگان
چکیده
In this work we provide a semantic description of functional logic languages covering notions like laziness, sharing, and non-determinism. Such a semantic description is essential, for instance, to have appropriate language definitions in order to reason about programs and check the correctness of implementations. First, we define a “big-step” semantics in natural style to relate expressions and their evaluated results. Since this semantics is not sufficient to reason about the operational aspects of programs, we also define a “small-step” operational semantics covering the main features of functional logic languages. Finally, we demonstrate the equivalence of the “small-step” semantics and the natural semantics.
منابع مشابه
A Memoizing Semantics for Functional Logic Languages
Declarative multi-paradigm languages combine the main features of functional and logic programming, like laziness, logic variables and non-determinism. The operational semantics of these languages is based on a combination of narrowing and residuation. In this article, we introduce a non-standard memoizing semantics for multi-paradigm declarative programs and prove its equivalence with the stan...
متن کاملA Deterministic Operational Semantics for Functional Logic Programs
This paper introduces a deterministic operational semantics for functional logic programs including notions like laziness, sharing, concurrency, non-deterministic functions, etc. Our semantic description is important not only to provide appropriate language definitions to reason about programs and check the correctness of implementations but it is also a basis to develop language-specific tools...
متن کاملA Debugging Model for Functional Logic Programs
This paper presents a box-oriented debugging model for the functional logic language ALF. Due to the sophisticated operational semantics of ALF which is based on innermost basic narrowing with simplification, the debugger must reflect the application of the different computation rules during program execution. Hence our debugging model includes not only one box type as in Byrd’s debugging model...
متن کاملParallel Graph Narrowing
We investigate graph narrowing as the operational semantics of functional logic programming languages. We mainly show and discuss how weakly needed narrowing as well as parallel narrowing may be extended to graph structures.
متن کاملMulti-paradigm Logic Programming a Simple Operational Model for Concurrent Functional Logic Programming
In this paper we specify an operational semantics which combines the most important operational principles of functional logic languages, namely residuation and narrowing. Narrowing combines eecient evaluation principles of functional languages with the problem-solving capabilities of logic programming. Residuation restricts this combination but adds the possibility of concurrent computations. ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Electr. Notes Theor. Comput. Sci.
دوره 76 شماره
صفحات -
تاریخ انتشار 2002